Virtual environments simulate actual or fantasy three dimensional (“3D”) environments and allow for users to interact with each other and with constructs in the environment via remotely-located clients. In a virtual environment, a universe is simulated within a computer processor/memory. Multiple people may participate in the virtual environment through a computer network, e.g., a local area network or a wide area network such as the Internet. Each participant in the universe selects an “avatar” to represent them in the virtual environment. The avatar is often a 3D representation of a person or other object. Participants send commands to a virtual environment server that controls the virtual environment thereby causing their avatars to move and interact within the virtual environment. In this way, the participants are able to cause their avatars to interact with other avatars and other objects in the virtual environment.
A virtual environment often takes the form of a virtual-reality 3D map, and may include rooms, outdoor areas, and other representations of environments commonly experienced in the physical world. The virtual environment may also include multiple objects, people, animals, robots, avatars, robot avatars, spatial elements, and objects/environments that allow avatars to participate in activities. Participants establish a presence in the virtual environment via a virtual environment client on their computer, through which they can create an avatar and then cause the avatar to “live” within the virtual environment.
As the avatar moves within the virtual environment, the view experienced by the avatar changes according to where the avatar is located within the virtual environment. The views may be displayed to the participant so that the participant controlling the avatar may see what the avatar is seeing. Additionally, many virtual environments enable the participant to toggle to a different point of view, such as from a vantage point outside (i.e. behind) the avatar, to see where the avatar is in the virtual environment.
The participant may control the avatar using conventional input devices, such as a computer mouse and keyboard or optionally may use a more specialized controller. The inputs are sent to the virtual environment client, which forwards the commands to one or more virtual environment servers that are controlling the virtual environment and providing a representation of the virtual environment to the participant via a display associated with the participant's computer.
Depending on how the virtual environment is set up, an avatar may be able to observe the environment and optionally also interact with other avatars, modeled objects within the virtual environment, robotic objects within the virtual environment, or the environment itself, i.e. an avatar may be allowed to go for a swim in a lake or river in the virtual environment. In these cases, client control input may be permitted to cause changes in the modeled objects, such as moving other objects, opening doors, and so forth, which optionally may then be experienced by other avatars within the virtual environment.
“Interaction” by an avatar with another modeled object in a virtual environment means that the virtual environment server simulates an interaction in the modeled environment in response to receiving client control input for the avatar. Interactions by one avatar with any other avatar, object, the environment or automated or robotic avatars may, in some cases, result in outcomes that may affect or otherwise be observed or experienced by other avatars, objects, the environment, and automated or robotic avatars within the virtual environment.
A virtual environment may be created for the user, but more commonly the virtual environment may be persistent, in which it continues to exist and be supported by the virtual environment server even when the user is not interacting with the virtual environment. Thus, where there is more than one user of a virtual environment, the environment may continue to evolve when a user is not logged in, such that the next time the user enters the virtual environment it may be changed from what it looked like the previous time.
Virtual environments are commonly used in on-line gaming, such as for example in online role playing games where users assume the role of a character and take control over most of that character's actions. However, in addition to games, virtual environments are being used to simulate real life environments to provide an interface for users that will enable on-line education, training, shopping, and other types of interactions between groups of users and between businesses and users.
In a business setting, members of the virtual environment may wish to communicate and interact with users in their virtual environment, users in other virtual environments, and people in the real word environment. This is particularly applicable in the business world where “virtual” meetings have become very popular. In a virtual meeting, attendees, by the click of a button, can “enter” a conference room, view the surrounds, converse with real world participants and contribute to the meeting.
Constructing content for 3D virtual environments is both expensive and time consuming. In the “real” world, meetings are typically held in generic meeting rooms. As a result, all relevant materials need to be brought to the meeting room. For example, if a laptop computer is brought to the meeting, the relevant data from the laptop needs to be located and then displayed. In some cases there may be a conflict between all the materials that a meeting attendee wishes to refer to at the meeting and the limited display area on the meeting's projector screen. However, after the meeting, these materials must be packed up and reconstructed if there are any follow-up meetings regarding the same or similar topic.
In the virtual environment world, the same problem arises. It is often desirable to ensure that relevant materials are automatically extracted and displayed on the walls of the virtual environment scene. It is also desirable for displays within the virtual environment to be tailored and updated by participants so that return visits to the virtual environment leave the displays untouched. Thus, virtual meetings covering a similar topic that was presented earlier should be able to display the same materials related to that topic. This is normally done by obtaining data related to that topic and reconstructing entire virtual world environments. Obtaining data related to a specific topic may involve searching multiple databases, a time consuming and costly task. Further, having to reconstruct entire virtual “rooms” and load objects related to the topic at various locations within the room is exceedingly time consuming.
Another difficulty related to virtual business meetings is that the output from formal meetings and informal discussions ancillary to the meeting must typically be manually recorded and are typically not filed in such a way that the data is associated with the formal documents related to the topic. There is a need to ensure that meeting minutes, document updates, new documents, white board sessions and the like are all stored in such a fashion that they can be easily accessed from the virtual environment for that topic.
Another problem encountered in virtual business meetings is that in large organizations it is often difficult to locate experts or even a significant number of interested parties related to a specific topic. There is a need to associate communications and data with specific topics such that a system can collect, over time, information about which topics are of interest to individuals. It is also desirable for a system to deduce which users might qualify as experts on a topic for future consultation.
There is therefore a need for a system that can create content for a virtual environment meeting by constructing a virtual environment template having fixed behaviors, fixed materials and other information related to the topic of the meeting without having to reconstruct the virtual environment meeting.